#include  <mqueue.h>
#include  <stdio.h>
#include  <string.h>

int main(int argc, char const *argv[])
{
	//1  设定队列的参数： 1 队列长度 2 消息最大大小 
	struct mq_attr attr;
	attr.mq_maxmsg=10;
	attr.mq_msgsize=256;

	//2  创建队列 mq_open 
	mqd_t mqd=mq_open("/test_queue_0821",O_RDWR|O_CREAT,0644,&attr);
	if(mqd==-1)
	{
		perror("创建队列失败");
		return -1;
	}
	//3  向队列发送数据
	char data[12]="hello world";
	mq_send(mqd,data,strlen(data)+1,0);

	//4  从队列中主动接收数据
	char buff[256]={0};
	mq_receive(mqd,buff,256,NULL);
	printf("接收到数据:%s\n",buff);
	//5  关闭队列 删除队列
	mq_close(mqd);
	mq_unlink("/test_queue_0821");
	return 0;
}
